# Kapitel 5: 
# Wellenausbreitung in einer unendlich ausgedehnten Membran
#  2017  Friedrich U. Mathiak, 
# mathiak@mechanik-info.de
# 
> restart: with(plots): with(LinearAlgebra):
# Beispiel 5-3:
# Wir notieren zunchst die homogene Bewegungsgleichung der ebenen Membran
> ode2:=simplify(diff(w(x,y,t),t,t)-cM[i]^2*(diff(w(x,y,t),x,x)+diff(w(x,y,t),y,y)));
# und betrachten im Folgenden mit 
> k:=Vector(2,[cos(alpha[i]),sin(alpha[i])]); r:=Vector(2,[x,y]); f:=cos;
# eine ebene Welle der Form
> w(x,y,t):=f(omega[i]/cM[i]*(DotProduct(k, r,conjugate = false)-cM[i]*t)-phi[i]);
# die sich unter dem Winkel i  mit der Geschwindigkeit cMi in Richtung von k ausbreitet. Die obige Gleichung erfllt die homogene Bewegungsgleichung 
> simplify(ode2);
# Aufgrund der Linearitt der Bewegungsgleichung ist auch jede Linearkombination von Wellenfunktionen ebenfalls Lsung der Bewegungsgleichung. Wir zeigen das an folgendem Beispiel von zwei gegenlufigen Wellen
> W:=unapply(w(x,y,t),i);
> alpha[1]:=Pi/6; alpha[2]:=-Pi/3; omega[1]:=20; omega[2]:= 30; cM[1]:=20; cM[2]:=15; phi[1]:=0; phi[2]:=0;
> a:=5: b:=5:
> para:=t=0 .. 0.1,orientation=[-100,65,0],style = patchcontour,axes=framed,frames = 101,scaling=constrained:
> p1:=animate(plot3d,[W(1),     x=0 .. a,y = 0 .. b],para):
> p2:=animate(plot3d,[W(2),     x=0 .. a,y = 0 .. b],para):
> p3:=animate(plot3d,[W(1)+W(2),x=0 .. a,y = 0 .. b],para):
> display(Matrix(1,3,[p1,p2,p3])); #Das kann etwas dauern
;
# Der Spezialfall der berlagerung von vier parallelen Wellen gleicher Richtung und Orientierung i = . 
> n:=4; 
> phi[1]:='phi[1]': phi[2]:='phi[2]':
>  cM[1]:= 'cM[1]' : cM[2]:= 'cM[2]':
> for i to n do 
>   omega[i]:=   25.;
>   alpha[i]:= Pi/3.;
>   cM[i]   :=   20.; 
> end do:
> phi[2]:=Pi/3; phi[3]:=Pi/6 - phi[2]; phi[1]:=Pi/6 + phi[2]; phi[4]:= phi[2]+ phi[3]- phi[1];
# Die Addition der vier Teilwellen ergibt:
> W4:=add(W(i),i=1..n);
> para:=t=0 .. 0.1,orientation=[-65,65,0],style = patchcontour,axes=framed,frames = 101,scaling=constrained:
> animate(plot3d,[W4, x=0 .. a,y = 0 .. b], para);
> 
;
> 
;
